Academic Open Internet Journal |
Volume 13, 2004 |
A Novel approach for Implementing Security services
Dr. S. N. Sivanandam Prof and Head |
G.R.KarpagamAssistant ProfessorDept of Computer Science and Engg
|
Abstract
To share information in the distributed systems
environment, it is necessary to have a secured computing environment.
Traditional software Engineering approach has not been successful in the
security service development, because of the platform dependency and frequent
change in security requirements. Model based software development addresses the
problems faced with frequent changes. Model Driven Architectural approach (MDA)
helps in achieving platform independence and supports interoperability. In this
paper, Meta models are developed for implementing security services in
Distributed systems using Generic Modeling Environment. An interpreter is
developed to transform independent models to specific and vice versa, thereby
achieving round trip engineering. This
work helps in developing MDA Components for Security services in new and legacy
systems
Key Words: Model Driven Architecture (MDA), Platform Specific
Model (PSM), Platform Independent Model (PIM), cryptography, Smart card,
Metamodel
To share information in the distributed systems
Secured computing environment is mandatory for the people. Each platform
proposes its own security software infrastructure. The need today is to port
the existing security service mechanisms to the new technology, or to a newer
version of an existing technology. It is necessary to produce security services or its components based on standards. This can be achieved by
creating Integrated Development Environment using model-based generators. Model
Driven Architecture addresses the above problems, and provides an approach that
separates what systems must do from how it is
implemented [16]. It provides a set of rules for structuring models. As security
will play a central role in the design of Distributed Real time systems, the
paper proposes a MDA based scheme for implementing security services
considering smart card as an illustration. The main objective of MDA based
approach is to define an approach to IT system specification that separates, the
specification of system functionality from the implementation of that
functionality on a specific technology platform. The central idea in the MDA is the use
of a common stable model, which is language, vendor and middleware-neutral.
1. Model Driven Architecture
The
Model Driven Architecture (MDA) proposed by Object Management Group (OMG) puts
a strong emphasis on fundamental notions such as models and Meta models,
mappings, code generation and application deployment. MDA is reference software
architecture, which uses models such as platform Independent Model (PIM),
Platform Specific Model (PSM), and Meta models for design of portable and
interoperable systems [10]. Platform Independent Model (PIM) is a model with a high level
of abstraction that is independent of any implementation technology. Platform Specific Model (PSM) represents a
realization of the PIM within the context of a particular software technology.
The major characteristics of software engineering like Interoperability and
reusability are achieved by transformation of models and management of metadata
across all applications, platforms and tools [20]. The core of MDA involves
Unified Modelling Language [14], Meta Object Facility and Common Warehouse
Model [1]. MDA tools focuses on abstraction of the software system building. It
combines domain specific modelling with code generation to support model-driven
process [2, 6]
2. Smart Card Environment
The smart card is an intelligent token embedded with an integrated
circuit chip. It provides not only memory capacity, but also computational
capability. Smart card environment is prone to security breaches since the
transactions are not under a single trust boundary. In a Smart Card-based
system there are usually six parties involved which are as follows Card Holder,
Data Owner, Terminal, Card Issuer, Card Manufacturer and Software Manufacturer
[12]. Card Holder is the party who has the possession of the card. Data Owner is the party who has
control of the data within the card. Terminal
is a device that offers interactions with the world. Card Issuer is the party who issued the Smart Card. This party
controls the operating system running on the Smart Card and any data that is
initially stored on the Smart Card. Card
Manufacturer is the party who produces the Smart Card and Software Manufacturer is the party who
develops the software that resides in the Smart Card. Any party can pose the
threat in the system. Each and every threat should be analyzed and the best
possible solution should be implemented [4]
3. Security Services
Security is one of the basic needs in the design of distributed real
time systems since more and more data are exchanged through these applications
The Key issues in implementing security are authentication, authorization,
integrity, confidentiality, non-repudiation and auditing. Possible security
threats include Masquerading, Eaves dropping, Replaying and tampering. The
schemes like cryptography, biometrics and stegnography addresses the above
threats [3]
4. Proposed Scheme
The main objective of the proposed scheme is to
design and develop security services using MDA based approach taking smart card
as application. MDA tool used for development of the model is Generic Modelling
Environment (GME)[2] and the language used for Translation is VC++[18]. Smartcard
environment and its security services are represented in the Metamodel (Meta
PIM, Meta PSM). Design of models and its transformation are achieved by
developing an interpreter. The complete
work can be shown in two phases, Transformation of PIM to PSM (Forward
Engineering) [13] and Transformation of PSM to PIM (Reverse Engineering).
Figure 1 depicts the two different phases of the proposed scheme.
Figure
1 Proposed Scheme
The sequences of steps involved in the
transformation of PSM-PIM are Design of MetaPSM from the legacy code, Development of PSM, PSM to PIM transformation using
Interpreter The Sequence of steps involved in the
transformation of PIM-PSM are analysis of the environment and its security
requirements, Design of MetaPIM, Development of PIM and PIM to PSM
transformation using Interpreter.
4.1 Smartcard Environment Security
services in the proposed Design
The threats for Smartcard environment can be
classified into various categories like attack by a cardholder on terminal, and
attack by a terminal on card issuer etc [12]. Table1 lists threats and the
solutions designed in the proposed scheme. The cardholder interacts with the
terminal to initiate any transaction. The terminal in turn accesses the Server
(authenticating server) to authenticate the user. The server authenticates by
providing a ticket to access the Ticket Granting Server. With this ticket the
terminal accesses the application server. The server replies a positive
acknowledgement on the completion of transaction. The model shown in figure 2
depicts the flow sequence in the proposed environment.
The flow sequence in the proposed design depicted in
figure 2 is used to design a Meta PIM. A Meta PIM is designed to provide cryptographic
based security services. The steps involved in the design of MetaPIM are Identification
of the entities, defining the attributes and functions, designing the relationships
and connections between classes and defining constraints. PIM is designed
using the MetaPIM. Figure 3 and 4 depicts the model of the security service
provider and MetaPIM respectively.
Figure 3 Meta Platform Independent Model
Security in the proposed design is provided by mechanisms
namely authentication and authorization, cryptography and digital signature.
Sequence of actions, for an aspect namely authentication shown in figure 5
is as follows. “The cardholder interacts with the terminal to initiate any
transaction. The terminal in turn accesses the Authenticating Server in order
to authenticate the user. The server authenticates by providing a ticket to
access the Ticket Granting Server. With this ticket the terminal accesses
the application server. The server replies a positive acknowledgement on the
completion of transaction; else it replies a negative acknowledgement by sending
an error report. The cryptographic algorithm used for authentication is RSA
[8,17] and challenge response mechanism [9]. With these details Meta PIM is
designed, which in turn is interpreted to a PIM.
Figure 5 Authentication Aspect in smart card environment
Mapping logic is developed to transform the PIM to
PSM. The PSM can then be given to the Code Generator for generating the code.
The phases in the development of Meta PIM are Identification of the entities,
Defining the attributes and functions, Defining relationships and Designing the
constraints. Different entities participating in the working of the Smart card
environment are modelled as the derivatives of the First Class Objects in the
Generic Modeling Environment (GME). The attributes and functions of all the
classes in the context of the security service are identified and are added to
the respective Classes. The relationships between different classes are defined
as connections. Relationship between entities and the type of security service
rendered in the proposed scheme is tabulated in table 2. The Constraints are
modelled to say how a system should behave.
Figure 6 Meta Platform Independent Model
In
the proposed design these constraints are used to implement procedures like
establishing connections between different parties of environment.. These constraints are written using the
Object Constraint language (OCL) [5]. MetaPIM and PIM for the Smartcard
environment with its security services are shown in figure 6 and 7
respectively. Mapping logic is developed to transform the PIM to PSM
[15,19,21]. Figure 8 shows the screen
shot of transformation from PIM to PSM.
Figure 7 Platform Independent Model
The main objective of this phase is to recover the abstractions from the existing systems and to fuse the technologies that are implemented in different platforms [11]. The existing code is analyzed by which the entities and algorithms are identified. The phases in the development of Meta PSM are Identification of Classes, definig Attribtes and Functions, defining relationship between Classes, defining the constraints and defining the Aspects. The classes in the code are represented as atoms and models and the attributes and functions with the respective data types are defined as in the code. The relationships between different classes are defined as connections. The conditional statements are depicted in the model as constraints using OCL. PSM is obtained by interpreting this MetaPSM [19] and is shown in Figure9. The interpreter is developed by traversing the structure of the developed model. The output of interpreter is an XME file. This file can be imported to GME to transform one model to another. Figure 10 shows a sample of transformation.
Figure 9 MetaPSM
The
Sequences of steps to transform a PSM to PIM are as follows. Removing the inheritance relationship
between First Class Objects (FCOs) and the Classes, Changing Packages into
models containing Atoms and Changing the function prototype from Java specific
to a generic form as shown below. The
model of PIM generated by interpreting the PSM is shown in figure 11.
XML Fragment
for MetaPIM
5 Discussions and Conclusion
This proposal is an attempt to promote software
engineering towards matured engineering. The future goal is to extend
the work for other pervasive services like Persistence, Transaction, Directory
services and Event handling [7]. This work could also be extended for mappings like PSM–PSM
and PIM–PIM. Though the proposed work
supports interoperability, heterogeneity and portability, indirectly the
modeling approach is tool dependent (GME) [21]. This can be solved by storing
models as MDA components. MDA components are independent of vendor and language
and are stored and retrieved in a uniform way. The paper has described how to utilize Model Driven
Architecture in a domain specific environment. It outlines the transformation
between the PIM and PSM models. The inspiration for choosing the MDA based
approach is its attitude to reflect the model in the code. This work helped us
to better understand the MDA approach to software development and to identify
the problems and opportunities with the approach. MDA approach ensures potential
benefits in mixed technological solutions and it can be easily assembled in new
and legacy systems.
References
1. A Kleppe, J
Warmer, W Bast ; Addison Wesley, MDA Explained: The Model Driven Architecture:
Practice and Promise, 2003
2. Tools and
information related to model-driven system development supporting OMG's vision
of MDA; http://www.modelbased.net
3. George
Coulouris, Jean Dollimore and Tim Kindberg; Addison-Wesley, Edition 3,
Distributed Systems: Concepts and Design, 2001
4. CHAN,
Siu-cheung Charles; An Overview of Smart Card Security, http://home.hkstar.com/~alanchan/papers/smartCardSecurity
, 1997.
5. Institute
for Software Integrated Systems, Vanderbilt University; GME3 users Manual -
Version 3.0, http://www.isis.vanderbilt.edu/ , March 2003.
6.
John D. Poole;
Model-Driven Architecture: Vision, Standards And Emerging Technologies,
Position Paper Submitted to ECOOP 2001, Workshop on Metamodeling and Adaptive
Object Models, Hyperion Solutions Corporation, April 2001
7.
OMG Architecture Board MDA Drafting Team, Model-Driven
Architecture: A Technical
Perspective,ftp://ftp.omg.org/pub/docs/ab/01-02-01.pdf,
2001
8. DI
Management Services Pty Limited; RSA Algorithm, http://www.di-mgt.com.au/rsa_alg.html, Sydney, Australia, 2002
9. Kristian
Kohntopp, Boris Erdmann, Sascha Schumann; Using Challenge-Response
Authentication, http://www.sanisoft.com/phplib/manual/html/auth_Response.html,
2001
10.
D. Dsouza; Model-driven architecture and integration -
opportunities and challenges, http://www.kinetium.com/catalysis-org/publications/papers/2001-mda-reqs-desmond-6.pdf,
2001.
11.
Patrick DJ Kulandaisamy , N.S.Nagaraj, Srinivas Thonse; Representing Procedural
Source in UML,http://www.omg.org/news/meetings/workshops/UML2002-Manual/04
2_Reverse_Engineering_Procedural_Code_using_UML.pdf , 2002.
12. Schneier.B, Shostack, A. ; Breaking up is hard to do: Modeling security
threats for smart cards, Proceedings of USENIX workshop on Smartcard
technology, Chicago, Illinois, USA, May 1999, USENIX Association, pp. 175--185.
157.
13.
Jean Bézivin, Sebastein Gerard, Pierre-Alain Mullar, Laurent
Rioux,; MDA components: Challenges and Opportunities, France, http://www.sciences.univnantes.fr/Metamodelling4
MDA.York/ MDAComponentsChallengesOpportunities.V1.3.PDF.
14.
K. Lano, J. Bicarregui; UML refinement and abstraction
transformations, Second Workshop on Rigorous Object Orientated Methods: ROOM 2,
Bradford, and May 1998.
15.
Lemesle R ;Transformation Rules based on Metamodelling,
EDOC, ‘98, La Jolla California 3-5, pp
113-122, November 1998.
16.
Joaquin Miller and Jishnu Mukerji, “MDA Guide Version 1.0”,
OMG, 2003.
17.
David Ireland; cryptography code page,
Australia, http://www.di-mgt.com.au/crypto.html,
2003
18.
Walter Savitch; Problem Solving with C++: The Object of
Programming, Visual C++ 6.0 Edition, CodeMate Enhanced, Addison-Wesley, 2003.
19.
Kovse, J., Härder, T; Generic XMI-Based UML Model
Transformations, Proc. OOIS’2002,
Montpellier, Sept. 2002, Springer-Verlag, pp. 192-198.
20.
SeacoastPM Software Modeling Survey, A research
firm www.seacoast-pm.com, 2003
21.
Generative Model Transformer. http://www.eclipse.org/gmt/
Technical College - Bourgas,